package com.zcsy.manage.service.system;

import java.util.List;

import com.zcsy.manage.model.system.App;

/**
 * @Project: service
 * @Title: IAppService
 * @Package com.zcsy.manage.service.system
 * @Description:app版本管理相关服务层接口类
 * @author fangli Fanglwj520@163.com
 * @date 2016年5月13日 下午3:04:57
 * @Copyright：2014 武汉恒数利通软件有限公司 All rights reserved.
 * @version 1.0
 */
public interface IAppService {
	
    /**
     * @Description:获取所有的app信息
     * @return: app信息集合
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    List<App> getAll();
    
    /**
     * @Description:更新app信息
     * 更新app信息包括：版本号,类型,更新内容
     * @param app对象
     * @return:  操作结果： 1、成功，0、失败
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    int updateAppInfo(App app);
    
    /**
     * @Description:根据id删除app信息
     * @param id appx信息id
     * @return: 操作结果： 1、成功，0、失败
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    int deleteAppInfo(String id);
    
    /**
     * 
     * @Description:根据id取app信息
     * @param id appx信息id
     * @return: App app对象
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    App selectByPrimaryKey(String id);
    
    /**
     * @Description:根据版本号,类型来查询信息
     * @param app app信息对象
     * @return: app信息集合
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    List<App> selectApp(App app);
    
   /**
    * 
    * @Description:插入信息
    * @param app app信息对象
    * @return:  插入结果： 1、成功，0、失败
    * @Version: 
    * @author: fangli Fanglwj520@163.com
    * @Date: 2016年5月14日
    */
    int insert(App app);
    
    /**
     * @Description:根据版本号,类型是否存在来新增信息
     * @param versionNo 版本号
     * @param type 类型
     * @return: boolean
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月17日
     */
    boolean selectAppIfExists(String versionNo, String type);
    
    /**
     * @Description 通过客户端类型查询版本信息对象
     * 
     * @param type 客户端类型
     * @return 版本信息对象
     * @author liuying 1075817474@qq.com
     * @date 2016年6月13日
     * @see 
     */
    App getAppInfoByType(Integer type);

}
